Location-based parental controls

ABSTRACT

Systems, apparatuses, and methods are described for parental controls based on the location of a wireless computing device. Wireless access points may be located in different locations, e.g., in different rooms of a home. The location of the wireless computing device may be determined based on comparing measured signal strengths to baseline signal strengths associated with the location. Information related to an access level associated with the location may be determined. The access level may, for example, permit access to content in a first location, but prevent access to the content in a second location. Content may be provided to the wireless computing device based on the access level associated with the location.

BACKGROUND

User devices (e.g., smartphones, video streaming devices, personalcomputers, etc.) may be able to access a variety of content. This mayincrease the burden on a content provider in many ways. One such burdenrelates to parental controls for authorizing access to content by userdevices within a physical location (e.g., the premises of a home).Parental controls may often be configured based on an identity of a useror a device, but do not account for, e.g., the location of a userdevice.

SUMMARY

The following summary presents a simplified summary of certain features.The summary is not an extensive overview and is not intended to identifykey or critical elements.

Methods, systems, and apparatuses are described for controlling accessto content by wireless computing devices based on the location of thosewireless computing devices. A premises, such as a home or office, mayhave one or more wireless access points, via which one or more wirelesscomputing devices may access content (e.g., web pages, media content, orthe like). Based on which of the wireless access points a wirelesscomputing device is connected to, a location of the wireless computingdevice may be determined. For example, if every room in a home has awireless access point, and if a wireless computing device is connectedto a wireless access point in a living room, the wireless computingdevice may be determined to be in the living room. As another example,if the wireless computing device is connected to one or more differentwireless access points, the signal strengths corresponding tocommunications between the wireless computing device and the one or moredifferent wireless access points may be compared (e.g., to a thresholdbased on historic signal strengths) to determine a location of thewireless computing device. The location may be associated with an accesslevel, which may govern access to content in that location. For example,a wireless computing device associated with a child and located in aroom might be restricted in its access to certain content, whereas adifferent wireless computing device associated with a parent and locatedin the same room might be provided unrestricted access to the content.

These and other features and advantages are described in greater detailbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

Some features are shown by way of example, and not by limitation, in theaccompanying drawings. In the drawings, like numerals reference similarelements.

FIG. 1 shows an example communication network.

FIG. 2 shows hardware elements of a computing device.

FIG. 3 shows an example building including wireless access points.

FIG. 4 shows an example wireless access point server computing systemthat includes a parental control application.

FIG. 5 shows an example wireless access network showing communicationbetween user devices and wireless access points.

FIGS. 6A-6B are tables comparing example baseline wireless signalstrength measurements with signal strength measurements by a userdevice.

FIG. 7 is a flow chart showing an example method for executing aparental control process.

FIG. 8 is a flow chart showing an example method for determining a roomlocation of a user device.

FIG. 9 is a flow chart showing an example method for determining a roomlocation of a user device.

DETAILED DESCRIPTION

The accompanying drawings, which form a part hereof, show examples ofthe disclosure. It is to be understood that the examples shown in thedrawings and/or discussed herein are non-exclusive and that there areother examples of how the disclosure may be practiced.

FIG. 1 shows an example communication network 100 in which featuresdescribed herein may be implemented. The communication network 100 maycomprise one or more information distribution networks of any type, suchas, without limitation, a telephone network, a wireless network (e.g.,an LTE network, a 5G network, a WiFi IEEE 802.11 network, a WiMAXnetwork, a satellite network, and/or any other network for wirelesscommunication), an optical fiber network, a coaxial cable network,and/or a hybrid fiber/coax distribution network. The communicationnetwork 100 may use a series of interconnected communication links 101(e.g., coaxial cables, optical fibers, wireless links, etc.) to connectmultiple premises 102 (e.g., businesses, homes, consumer dwellings,train stations, airports, etc.) to a local office 103 (e.g., a headend).The local office 103 may send downstream information signals and receiveupstream information signals via the communication links 101. Each ofthe premises 102 may comprise devices, described below, to receive,send, and/or otherwise process those signals and information containedtherein.

The communication links 101 may originate from the local office 103 andmay comprise components not shown, such as splitters, filters,amplifiers, etc., to help convey signals clearly. The communicationlinks 101 may be coupled to one or more wireless access points 127configured to communicate with one or more mobile devices 125 via one ormore wireless networks. The mobile devices 125 may comprise smartphones, tablets or laptop computers with wireless transceivers, tabletsor laptop computers communicatively coupled to other devices withwireless transceivers, and/or any other type of device configured tocommunicate via a wireless network.

The local office 103 may comprise an interface 104, such as atermination system (TS). The interface 104 may comprise a cable modemtermination system (CMTS) and/or other computing device(s) configured tosend information downstream to, and to receive information upstreamfrom, devices communicating with the local office 103 via thecommunications links 101. The interface 104 may be configured to managecommunications among those devices, to manage communications betweenthose devices and backend devices such as servers 105-107 and 122,and/or to manage communications between those devices and one or moreexternal networks 109. The local office 103 may comprise one or morenetwork interfaces 108 that comprise circuitry needed to communicate viathe external networks 109. The external networks 109 may comprisenetworks of Internet devices, telephone networks, wireless networks,wireless networks, fiber optic networks, and/or any other desirednetwork. The local office 103 may also or alternatively communicate withthe mobile devices 125 via the interface 108 and one or more of theexternal networks 109, e.g., via one or more of the wireless accesspoints 127.

The push notification server 105 may be configured to generate pushnotifications to deliver information to devices in the premises 102and/or to the mobile devices 125. The content server 106 may beconfigured to provide content to devices in the premises 102 and/or tothe mobile devices 125. This content may comprise, for example, video,audio, text, web pages, images, files, etc. The content server 106 (or,alternatively, an authentication server) may comprise software tovalidate user identities and entitlements, to locate and retrieverequested content, and/or to initiate delivery (e.g., streaming) of thecontent. The application server 107 may be configured to offer anydesired service. For example, an application server may be responsiblefor collecting, and generating a download of, information for electronicprogram guide listings. Another application server may be responsiblefor monitoring user viewing habits and collecting information from thatmonitoring for use in selecting advertisements. Yet another applicationserver may be responsible for formatting and inserting advertisements ina video stream being transmitted to devices in the premises 102 and/orto the mobile devices 125. The local office 103 may comprise additionalservers, such as the location server 122 (described below), additionalpush, content, and/or application servers, and/or other types ofservers.

The location server 122 may contain registries or databases ofidentifiers and associated data (e.g., location information, deviceinformation, user information and/or other information) for eachidentifier. The location server 122 may provide a user interface toenable a user to setup the user's registry of identifiers and userinputted information for each identifier. Although shown separately, thepush server 105, the content server 106, the application server 107, thelocation server 122, and/or other server(s) may be combined. The servers105, 106, 107, and 122, and/or other servers, may be computing devicesand may comprise memory storing data and also storing computerexecutable instructions that, when executed by one or more processors,cause the server(s) to perform steps described herein.

An example premises 102 a may comprise an interface 120. The interface120 may comprise circuitry used to communicate via the communicationlinks 101. The interface 120 may comprise a modem 110, which maycomprise transmitters and receivers used to communicate via thecommunication links 101 with the local office 103. The modem 110 maycomprise, for example, a coaxial cable modem (for coaxial cable lines ofthe communication links 101), a fiber interface node (for fiber opticlines of the communication links 101), twisted-pair telephone modem, awireless transceiver, and/or any other desired modem device. One modemis shown in FIG. 1, but a plurality of modems operating in parallel maybe implemented within the interface 120. The interface 120 may comprisea gateway 111. The modem 110 may be connected to, or be a part of, thegateway 111. The gateway 111 may be a computing device that communicateswith the modem(s) 110 to allow one or more other devices in the premises102 a to communicate with the local office 103 and/or with other devicesbeyond the local office 103 (e.g., via the local office 103 and theexternal network(s) 109). The gateway 111 may comprise a set-top box(STB), digital video recorder (DVR), a digital transport adapter (DTA),a computer server, and/or any other desired computing device.

The gateway 111 may also comprise one or more local network interfacesto communicate, via one or more local networks, with devices in thepremises 102 a. Such devices may comprise, e.g., display devices 112(e.g., televisions), STBs or DVRs 113, personal computers 114, laptopcomputers 115, wireless devices 116 (e.g., wireless routers, wirelesslaptops, notebooks, tablets and netbooks, cordless phones (e.g., DigitalEnhanced Cordless Telephone—DECT phones), mobile phones, mobiletelevisions, personal digital assistants (PDA)), landline phones 117(e.g. Voice over Internet Protocol—VoIP phones), and any other desireddevices. The premises 102 a may also comprise wireless access points 123which may be located between the Gateway 111 and the user devices 118.The wireless access points may be used to extend the wireless(e.g.,WiFi) network connection to different locations in the premises102 a. The wireless access points 123 may be wireless devices that maybe placed in different locations in the premises 102 a to extend thereach and connectivity of the WiFi network provided by the modem 110and/or gateway 111.

Example types of local networks comprise Multimedia Over Coax Alliance(MoCA) networks, Ethernet networks, networks communicating via UniversalSerial Bus (USB) interfaces, wireless networks (e.g., IEEE 802.11, IEEE802.15, Bluetooth), networks communicating via in-premises power lines,and others. The lines connecting the interface 120 with the otherdevices in the premises 102 a may represent wired or wirelessconnections, as may be appropriate for the type of local network used.One or more of the devices at the premises 102 a may be configured toprovide wireless communications channels (e.g., IEEE 802.11 channels) tocommunicate with one or more of the mobile devices 125, which may be on-or off-premises.

The mobile devices 125, one or more of the devices in the premises 102a, and/or other devices may receive, store, output, and/or otherwise useassets. An asset may comprise a video, a game, one or more images,software, audio, text, webpage(s), and/or other content.

FIG. 2 shows hardware elements of a computing device 200 that may beused to implement any of the computing devices shown in FIG. 1 (e.g.,the mobile devices 125, any of the devices shown in the premises 102 a,any of the devices shown in the local office 103, any of the wirelessaccess points 127, any devices with the external network 109) and anyother computing devices discussed herein. The computing device 200 maycomprise one or more processors 201, which may execute instructions of acomputer program to perform any of the functions described herein. Theinstructions may be stored in a read-only memory (ROM) 202, randomaccess memory (RAM) 203, removable media 204 (e.g., a USB drive, acompact disk (CD), a digital versatile disk (DVD)), and/or in any othertype of computer-readable medium or memory. Instructions may also bestored in an attached (or internal) hard drive 205 or other types ofstorage media. The computing device 200 may comprise one or more outputdevices, such as a display device 206 (e.g., an external televisionand/or other external or internal display device) and a speaker 214, andmay comprise one or more output device controllers 207, such as a videoprocessor. One or more user input devices 208 may comprise a remotecontrol, a keyboard, a mouse, a touch screen (which may be integratedwith the display device 206), microphone, etc. The computing device 200may also comprise one or more network interfaces, such as a networkinput/output (I/O) interface 210 (e.g., a network card) to communicatewith an external network 209. The network I/O interface 210 may be awired interface (e.g., electrical, RF (via coax), optical (via fiber)),a wireless interface, or a combination of the two. The network I/Ointerface 210 may comprise a modem configured to communicate via theexternal network 209. The external network 209 may comprise thecommunication links 101 discussed above, the external network 109, anin-home network, a network provider's wireless, coaxial, fiber, orhybrid fiber/coaxial distribution system (e.g., a DOCSIS network), orany other desired network. The computing device 200 may comprise alocation-detecting device, such as a global positioning system (GPS)microprocessor 211, which may be configured to receive and processglobal positioning signals and determine, with possible assistance froman external server and antenna, a geographic position of the computingdevice 200. Additionally, the computing device 200 may comprise wirelessaccess points 213 capable of receiving and sending WiFi networkcommunication signals to user devices 118 in the wireless home network.

Although FIG. 2 shows an example hardware configuration, one or more ofthe elements of the computing device 200 may be implemented as softwareor a combination of hardware and software. Modifications may be made toadd, remove, combine, divide, etc. components of the computing device200. Additionally, the elements shown in FIG. 2 may be implemented usingbasic computing devices and components that have been configured toperform operations such as are described herein. For example, a memoryof the computing device 200 may store computer-executable instructionsthat, when executed by the processor 201 and/or one or more otherprocessors of the computing device 200, cause the computing device 200to perform one, some, or all of the operations described herein. Suchmemory and processor(s) may also or alternatively be implemented throughone or more Integrated Circuits (ICs). An IC may be, for example, amicroprocessor that accesses programming instructions or other datastored in a ROM and/or hardwired into the IC. For example, an IC maycomprise an Application Specific Integrated Circuit (ASIC) having gatesand/or other logic dedicated to the calculations and other operationsdescribed herein. An IC may perform some operations based on executionof programming instructions read from ROM or RAM, with other operationshardwired into gates or other logic. Further, an IC may be configured tooutput image data to a display buffer.

A device (e.g., a wireless computing device) may receive content that isrestricted and/or filtered based on the location of the device in apremises. Location-based parental controls may allow for minimal setupof devices. For example, filtering and/or access (e.g., to content) maybe based on the location of a device in a building.

FIG. 3 shows a premises 300 (e.g., a physical location, such as a house,office, or the like) comprising wireless access points 301-308. Thepremises 300 may comprise the devices shown and described for thepremises 102 a. There may be one or more wireless access points in roomsof the premises 300. Each room of the premises 300 may have its ownwireless access point. For example, the wireless access point 301 islocated in a dining room, and the wireless access point 304 is locatedin a master bedroom. Additionally or alternatively, there may be only asingle wireless access point in the premises 300. Wireless access pointsmay, but need not be, located in and/or associated with every room ofthe premises 300.

Though FIG. 3 and other examples herein discuss wireless access pointswith respect to a home with rooms, features described herein need not belimited to a building with rooms. For example, features described hereinmay be used in connection with networks comprising multiple accesspoints located outdoors (e.g., a large stadium with numerous wirelessaccess points), with networks comprising multiple access points locatedin a single room (e.g., a large auditorium, a large workspace dived bypartitions, etc.), and/or with networks comprising multiple accesspoints in other types of locations.

Wireless access points, such as the wireless access points 301-308, maybe computing devices that may provide wireless (e.g., WiFi) connectivity(e.g., in the premises 300). Wireless access points, such as thewireless access points 301-308, may additionally and/or alternativelyextend wireless connectivity. For example, wireless access points may beplaced throughout one or more locations (e.g., in the premises 300) toextend wireless connectivity from a single wireless gateway and intogeographic regions which, without the presence of such wireless accesspoints, may have a weak (or no) wireless signal. For example, wirelessaccess points may be placed in every room in a house, and/or in roomswhere there may be no parental supervision (e.g., a child's room, thegame room, and the bathroom). Additionally and/or alternatively,wireless access points may be placed on each floor of a house. Theplacement of wireless access points may be associated with controland/or filtering of access to content. For example, a wireless accesspoint located in a basement (where, for example, a game room often usedby children) may have stricter content filters as compared to a wirelessaccess point located in a master bedroom (where parents of the childrenmay sleep). Wireless access points may be manually placed in differentlocations, and may be moved between locations.

Wireless access points (e.g., the wireless access points 301-308) may bepaired with a router and/or gateway (e.g., the gateway 111) to create amesh wireless network, which may extend wireless coverage to variousgeographic areas (e.g., of the premises 300). Wireless access pointsmay, e.g., in conjunction with such routers and/or gateways,continuously monitor and/or optimize wireless connections. Wirelessaccess points may be managed by a cloud-based, remote managementplatform. Wireless access points may facilitate user devices using bandsand/or channels.

Information associated with a wireless access point may be stored, e.g.,in a database. Identifiers may be selected and stored for each wirelessaccess point in a premises. For example, a wireless access point may beregistered, and a new entry corresponding to the wireless access pointmay be added to a database of wireless access points maintained by aserver. Based on determining an identifier for a wireless access pointin a location, the server may, using the identifier, query forinformation (e.g., information stored in a database) associated with theidentifier. A particular wireless access point may be additionallyand/or alternatively associated with a geographical location (e.g., aphysical location, such as an office in a corporate office building, aroom location in a house, a particular portion of an outdoor venue,and/or another similar portion of the premises 300). For example, forwireless access point 308 (which corresponds to identifier “wirelessaccess point 8” or “8” and is shown as being located in the living roomof the premises 300 in FIG. 3), a user (e.g., an administrator) mayassign the identifier “8” to the living room of the premises 300.Similarly, the user may assign the identifier “5” to room 5 (e.g., thegame room) of the premises 300. A device connected to the wirelessaccess point 308 may retrieve the identifier “8” and may, based on thatidentifier, determine that it is at or near the living room of thepremises 300. Similar association information between geographiclocations and identifiers of wireless access points in these geographiclocations (e.g., the wireless access points 301-308) may be stored. Theinformation stored for the wireless access points may additionallyand/or alternatively include other identifiers of wireless access points(e.g., serial numbers, MAC addresses, and/or IP addresses).

The information associated with wireless access points (e.g., thewireless access points 301-308) may additionally and/or alternativelycomprise access levels. Access levels may limit access to wirelessaccess points and/or content provided by those wireless access points(e.g., services provided by those wireless access point, such as accessto the Internet). Access levels may limit receipt and/or transmission ofcontent based on a location of a wireless computing device. For example,an access level associated with a child's room may prevent violentcontent from being transmitted to a wireless computing device in thechild's room. Access levels may correspond to different levels of accessto content for one or more geographic locations. For example, accesslevels corresponding to a child's bedroom may be stricter than accesslevels corresponding to a master bedroom. Access levels may provideusers with the ability to filter and control access to content providedto wireless computing devices based on their geographic location andconnectivity to a particular wireless access point in the house. Forexample, common areas (e.g., of an office or home) may be associatedwith a more permissive level of access to content than private areas, assupervision (e.g., by parents, co-workers, or the like) in those commonareas may be easier. As another example, a parent might configure accesslevels in different rooms of a house to prevent devices associated withchildren from accessing certain content in certain rooms, but wirelesscomputing devices associated with the parents may access any contentfreely from any room. Access levels may be determined using manual userinput. For example, a parent may establish one or more access levelsusing a computing device. Access levels may also be generated. Acomputing device may generate one or more access levels based onhistorical data relating to, e.g., one or more devices accessing contentin one or more locations. For example, if a user device rarely accessescontent in a room in a home, then the access levels for that room may berelatively more restrictive than access levels for other rooms in thehome. Access levels may be automatically generated based on thepredicted occupants of a location such that, for example, access levelsmay be generated to be relatively more restrictive based on adetermination that a particular location is associated with children.

FIG. 4 shows a server 400 that may be a computing device 401. Thoughshown as the computing device 401, the server 400 may be executed on oneor more computing devices (e.g., a combination of computing devices).The server 400 may comprise memory 402, a parental control application403, location mapping data 408, a communication manager 413, and acommunication interface 414. A wireless access point 415 may communicatewith the server 400 via, e.g., the communication interface 414. Thewireless access point 415 may be one or more of the wireless accesspoints 301-308. The server 400 may send, via wireless access point 415,and based on a particular profile associated with a request fromwireless access point 415, content to the wireless computing device incommunication with wireless access point 415. The memory 402 maycomprise a database for storing the parental control application 403 andlocation mapping data 408.

The parental control application 403 may be configured to determineaccess restrictions relating to one or more geographic locations. Theparental control application 403 may comprise one or more profiles, andeach profile in the one or more profiles may comprise informationregarding the access level for a wireless computing device associatedwith a particular access point and/or location. For example, theparental control application 403 may comprise profiles such as a livingroom profile 404, a child's room profile 405, and a game room profile407. Though the living room, child's room, and game room are referred toin FIG. 4, any rooms and/or locations in a premises may have acorresponding profile. Each such profile may be associated with adifferent access level. A wireless computing device in a first room may,based on a first access level, be permitted to access all content,whereas the same wireless computing device may, based on a second accesslevel, be permitted to access only a subset of the content in a secondroom. For example, with respect to the premises 300, the child's roomprofile 405 may contain information that prevents a wireless computingdevice, located in the child's room of the premises 300 and connected tothe wireless access point 302 in the child's room, from viewing programsthat may be inappropriate for children. For example, the living roomprofile 404 may contain information that allows wireless computingdevices, connected to the wireless access point 308, located in theliving room of the premises 300, unrestricted access to all of thesubscribed programs in the house. Access restrictions may not apply tocertain geographic locations. For example, a guest room may haveunrestricted Internet access.

A profile may comprise information indicating access levels that mayvary based on time. A wireless computing device may be permitted toaccess a greater amount of content during a first time period, but arelatively lesser amount of content during a second time period. Forexample, Internet access may be limited and/or prohibited during bedtimehours. For example, wireless devices associated with teenagers may bepermitted a greater amount of access to content during the summer and/orduring the weekend, but he same wireless devices may be provided asignificantly more restricted amount of access to content before afinals week.

Profiles may additionally and/or alternatively be configured to providedifferent wireless computing devices in the same or similar geographiclocations with different levels of access to content. Additionallyand/or alternatively, profiles may provide wireless computing devicesconnected to the same wireless access point (e.g., the wireless accesspoint 308) with different levels of access to content because thewireless computing devices are located in different geographic areas.For example, the game room profile 407 may restrict a first wirelesscomputing device, in the game room of the premises 300 and connected tothe wireless access point 305, from viewing content, and the game roomprofile 407 may permit a second wireless computing device, in the officeof the premises 300 and connected to the wireless access point 305, toview the content. Profiles may be dynamic and may be changed to meet theneeds of one or more users. For example, the profiles may be configuredto change based on the time of day, the number and/or type of wirelesscomputing devices connected, and/or some combination of differentparameters. For example, the game room profile 407 may permit a thirdwireless computing device, in the game room of the premises 300 andconnected to the wireless access point 305, to view content because,unlike the first wireless computing devices mentioned above, the thirdwireless computing device may have special permissions (e.g., thewireless computing device may be an adult's cell phone). Profiles may beconfigured based on the presence or absence of a particular wirelesscomputing device in a particular location. For example, the presence ofa wireless computing device associated with a parent in a room maypermit other wireless computing devices (e.g., childrens' tablets) inthe same room to access a broader range of content. Wireless computingdevices (e.g., childrens' devices and adult devices) may be added toprofiles, and such devices may be provided different levels of access tocontent based on those profiles. For example, a profile for a guest mayspecify that the guest has unrestricted access to content, whereas aprofile for a child may limit access to violent content. Profiles mayprovide different devices different levels of access to content based ontime. For example, a profile associated with children may restrictaccess to most Internet content after a time (e.g., 9:00 PM) associatedwith a bedtime.

The location mapping data 408 may be configured to enable the server 400to determine a location of a wireless computing device. The location ofa wireless computing device may be determined by comparing baselinewireless measurements for a geographic location with measurementsreceived from the wireless computing device. The location mapping data408 may comprise a predetermined signal strength mapping correspondingto one or more geographic locations. For example, for the premises 300,the location mapping data 408 may comprise a living room signal mapping409, a child's room signal mapping 410, and/or a game room signalmapping 412. These signal mappings may additionally and/or alternativelycomprise baseline signal strengths associated with one or more wirelessaccess points (e.g., the wireless access point 415). Such baselinesignal strengths may be compared to signal strengths measured by awireless computing device. Wireless computing devices may be configuredto measure strength of received wireless signals and/or to providevalues for such measurements based on a request. Thus, for example, thelocation of a wireless computing device may be determined by comparingbaseline data associated with a predetermined signal mapping of wirelesssignal strength measurements for a particular location to wirelesscomputing device measured data associated with signal strengthmeasurements. Determining the location of a wireless computing device isfurther described in connection with FIG. 6A, FIG. 6B, and FIG. 8.

Using the parental control application 403, an access level from aprofile (e.g., the living room profile 404 or the child's room profile405) may be determined based on the location of a wireless computingdevice. This access level may be transmitted to a wireless access point(e.g., the wireless access point 415).

The communication manager 413 may determine a geographic location of thewireless computing device. For example, such a determination may be madein response to a wireless computing device establishing a wirelessconnection with a wireless access point (e.g., one or more of thewireless access points 301-308). The communication manager 413 maydetermine the location of the wireless computing device based onreceived wireless signal strengths and the location mapping data 408.Once the communication manager 413 determines the location of thewireless computing device (e.g., a room where the wireless computingdevice is located), the communication manager 413 may retrieveinformation associated with the location (e.g., a room profileassociated with the location) from the parental control application 403.Based on the information regarding the location (e.g., the profile,including one or more access levels indicated by the profile), contentmay be provided to the wireless computing device via the wireless accesspoint with which the wireless computing device established a connection.For example, based on the location of a wireless computing device,merely a subset of all available content may be accessible by thewireless computing device. The wireless access point may receiverequests for content from the wireless computing device, and a computingdevice (e.g., the wireless access point) may deliver content to thewireless computing device based on the user profile.

FIG. 5 shows an example wireless access network showing communicationbetween wireless computing devices and wireless access points. Thewireless access network 500 comprises room access networks correspondingto different wireless access points. Wireless access point 308,identified as “wireless access point 8,” may be in a living room andpart of a living room access network 501. Wireless access points 307 and302, identified as “wireless access point 7” and “wireless access point2,” respectively, may be located in a hall and a child's room, and maybe parts of a hall access network 502 and a child's room access network503, respectively.

Access networks, such as the living room access network 501, the hallaccess network 502, and the child's room access network 503, may beassociated with an access level. Such access levels may be defined by,e.g., the parental control application 403. For example, the living roomaccess network 501 may be associated with a first access level 504,which may be defined in the living room profile 404 of the parentalcontrol application 403. The hall access network 502 may be associatedwith a second access level 505, which may be defined in the hall profile406 of the parental control application 403. The child's room accessnetwork 503 may be associated with a third access level 506, which maybe defined in the child's room profile 405 of the parental controlapplication 403.

Access levels (such as the first access level 504, the second accesslevel 505, and/or the third access level 506) may be configured tofilter content using one or more filters. Filtering content may compriseproviding a first portion of content while preventing access to a secondportion of content. For example, a filter may permit access to portionsof an online encyclopedia relating to history, but not to portions ofthe online encyclopedia of a prurient nature. Such filtering may beconfigured and/or performed as part of the access levels. For example,an access level may comprise a plurality of filters, each correspondingto different content for filtering. An access level (e.g., the thirdaccess level 506) may be configured to restrict access to certaincontent (e.g., certain websites) for wireless computing devicesconnected to a network (e.g., the child's room access network 503). Anaccess level (e.g., the first access level 504) may be configured toprovide unrestricted access to all programs for wireless computingdevices connected to a network (e.g., the living room access network501). Access levels may be configured such that a first wirelesscomputing device, located in a particular location, may access the firstaccess level 504, and that a second wireless computing device, locatedin the same location as the first computing device, may access contentassociated with a different access level. Access levels may beconfigured such that the level of access to content of a first wirelesscomputing device may vary based on the presence or absence of a secondwireless computing device.

Multiple wireless computing devices connected to the same wirelessaccess network(s) and located in similar locations may be associatedwith the same or a different access level. The same access level mayprovide different levels of access to different wireless computingdevices. For example, a wireless computing device associated with aparent may have unrestricted access to content regardless of location ofaccess level, whereas a different wireless computing device associatedwith a child may access content based on different access levels, andthose different access levels may be based on the location of thedifferent wireless computing device. Wireless computing devices 118 aand 119 a are shown in FIG. 5 as connected to the living room accessnetwork 501, and may be allowed access to content based on the firstaccess level 504. If, for example, the wireless computing device 118 ais associated with a parent, that device may have unrestricted access tocontent via the living room network 501 regardless of the first accesslevel 504. If, as another example, the wireless computing device 119 ais associated with a child, that device may have restricted access tocontent via the living room network 501 based on the first access level504. Wireless computing devices 118 b and 119 b are shown in FIG. 5 asconnected to the hall access network 502, and may be permitted access tocontent based on the second access level 505. Wireless computing devices118 c and 119 c are shown in FIG. 5 as connected to the child's roomaccess network 503, and may be allowed access to content based on thethird access level 506.

Access (e.g., to one or more services or content) by wireless computingdevices may be monitored (e.g., by one or more of the wireless accesspoints) and/or reported (e.g., by a storage device). For example, thewireless access points may be configured to periodically transmit, e.g.,to a central computing device, access records corresponding to access,by one or more wireless computing devices and in one or more locations,to content. Access may be monitored and/or reported based on a locationof a wireless computing device. For example, web browsing activity by achild in the child's room 302 may be monitored and stored in memory 402.For example, web browsing activity by a child in the living room 308need not be monitored or reported. The parental control application 403may be configured to allow access to different content types based ontime (e.g., a date and/or time of the day). For example, a wirelesscomputing device may be allowed to access video streaming traffic upuntil midnight, and then the wireless computing device may be allowed tostream only audio content after midnight.

FIG. 6A is a table that shows example signal strengths for a wirelesscomputing device in the first room of the premises 300. Such a table maybe stored in memory, e.g., the memory 402. A first column 601 comprisesentries corresponding to different wireless access points of thewireless access points 301-308. A second column 602, indicating thefirst room signal mapping, comprises entries indicating baseline dataassociated with a predetermined mapping of measured wireless signalstrengths associated with the wireless access points 301-308 in thepremises 300. These baseline wireless signal strengths may correspond toexpected signal strengths associated with communications with wirelessaccess points (e.g., wireless access points outside of the first room)as measured by a wireless computing device in the first room. Themeasurements shown in the second column 602 may correspond to expectedvalues of signal strengths based on a predetermined mapping of measuredsignal strengths, from the wireless access point 305 in the first roomand from other wireless access points 301-304, 306-308 outside the firstroom, as measured by a test wireless computing device in the first room.For example, the first row of the second column 602 includes a value of−50 decibel milliwatts (dBm) that indicates an expected signal strengthof a signal from the wireless access point 301 in the dining room. Suchexpected signal strengths may be determined by measuring, using a testwireless computing device, signal strengths in various positons in alocation. Additionally and/or alternatively, such expected signalstrengths may be determined based on a history of signal strengths(e.g., as reported by one or more wireless computing devices in thelocation), based on a model of one or more locations (e.g., expectedsignal strengths in a location based on the number of walls between thewireless access point and a hypothetical wireless device), and the like.Similarly, the second through eighth rows of the second column 602respectively include values of −43 dBm, −34 dBm, −46 dBm, −20 dBm, −35dBm, −46 dBm, and −40 dBm that respectively indicate expected signalstrengths, as measured by a test wireless computing device in the firstroom, of signals from the wireless access points 302 (in the child'sroom), 303 (in the office), 304 (in the master bedroom), 305 (in thefirst room), 306 (in the bathroom), 307 (in the hall), and 308 (in thesecond room). The baseline data shown in column 602 may be received(e.g., by the server 400 and/or via the wireless access point 305) fromthe test wireless computing device. The baseline data shown in column602 may be stored in memory 402.

A third column 603 comprises entries indicating wireless signalstrengths associated with a wireless computing device currently locatedin the first room of the premises 300. For example, the first row of thethird column 603 includes a value of −48 dBm that indicates a signalstrength, as measured by a wireless computing device in the first room,of a signal from the wireless access point 301 in the dining room.Similarly, the second through eighth rows of the third column 603respectively include values of −45 dBm, −37 dBm, −43 dBm, −25 dBm, −38dBm, −41 dBm, and −44 dBm that respectively indicate expected signalstrengths, as measured by a wireless computing device in the first room,of signals from the wireless access points 302 (in the child's room),303 (in the office), 304 (in the master bedroom), 305 (in the firstroom), 306 (in the bathroom), 307 (in the hall), and 308 (in the secondroom). This is described in more detail below in connection with FIG. 8.

FIG. 6B is a table that shows example signal strengths for a wirelesscomputing device in the second room of the premises 300. Such a tablemay be stored in memory, e.g., the memory 402. A first column 604comprises entries corresponding to different wireless access points ofthe wireless access points 301-308, similar to column 601 of FIG. 6A. Asecond column 605, indicating the second room signal mapping, comprisesentries indicating baseline data associated with a predetermined mappingof measured wireless signal strengths associated with the wirelessaccess points 301-308 in the premises 300. These baseline wirelesssignal strengths may comprise the expected signal strengths associatedwith communications with wireless access points (e.g., wireless accesspoints outside of the second room) as measured by a wireless computingdevice in the second room. The measurements shown in the second column605 may correspond to expected values of signal strengths based on apredetermined mapping of measured signal strengths, from the wirelessaccess point 308 in the second room and from other wireless accesspoints 301-307 outside the second room, as measured by a test wirelesscomputing device in the second room. For example, the first row of thesecond column 605 includes a value of −55 dBm that indicates an expectedsignal strength, as measured by a test wireless computing device in thesecond room, of a signal from the wireless access point 301 in thedining room. Similarly, the second through eighth rows of the secondcolumn 605 respectively include values of −49 dBm, −59 dBm, −75 dBm, −70dBm, −72 dBm, −77 dbm, and −73 dBm that respectively indicate expectedsignal strengths, as measured by a test wireless computing device in thesecond room, of signals from the wireless access points 302 (in thechild's room), 303 (in the office), 304 (in the master bedroom), 305 (inthe first room), 306 (in the bathroom), 307 (in the hall), and 308 (inthe second room). The baseline data shown in column 605 may be received(e.g., by the server 400 and/or via the wireless access point 308) fromthe test wireless computing device. The baseline data shown in column605 may be stored in memory 402.

A third column 606 comprises entries indicating wireless signalstrengths associated with a wireless computing device currently locatedin the second room of the premises 300. For example, the first row ofthe third column 606 includes a value of −53 dBm that indicates a signalstrength, as measured by a wireless computing device in the second room,of a signal from the wireless access point 301 in the dining room.Similarly, the second through eighth rows of the third column 606respectively include values of −46 dBm, −57 dBm, −77 dBm, −72 dBm, −69dBm, −71 dBm, and −70 dBm that respectively indicate expected signalstrengths, as measured by a wireless computing device in the secondroom, of signals from the wireless access points 302 (in the child'sroom), 303 (in the office), 304 (in the master bedroom), 305 (in thefirst room), 306 (in the bathroom), 307 (in the hall), and 308 (in thesecond room). This is described in more detail below in connection withFIG. 8.

The set of signal strength values measured by a wireless computingdevice (e.g., the values shown in the third column 603 and/or the thirdcolumn 606) need not exactly match the signal mapping corresponding to alocation (e.g., the strength values shown in the second column 602and/or the second column 605). For example, as described in more detailwith respect to FIG. 8, the measured signal strength values of awireless computing device and the signal mapping may be compared andfound to match within a predetermined threshold.

FIG. 7 shows a flowchart of an example method 700 for controlling accessto content. For example, access to content can be controlled based onroom location. The flowchart shown in FIG. 7 may be part of or comprisean algorithm which may be performed, e.g., by the server 400 and/or byone or more other computing devices. At step 702, profiles which may beassociated with a plurality of wireless access points (e.g., thewireless access points 301-308) may be determined. The determinedprofiles may correspond to and/or comprise access levels associated withone or more locations. The profiles may each correspond to a room and/ora group of rooms. For example, a user may create a profile for everyroom in a house, and each profile may be associated with a differentaccess level. The profiles may correspond to one or more wireless accesspoints (e.g., the wireless access points 301-308). The profiles mayprovide access to particular content for particular wireless computingdevices. For example, a profile may specify that one or more firstwireless computing devices may access particular content, that one ormore second wireless computing devices may have filtered access to thecontent, that one or more third computing devices might be prohibitedfrom accessing the content, or the like. The profiles may be stored inmemory (e.g., in the memory 402 of the server 400).

At step 704, a location of a wireless computing device may bedetermined. Determining a location of a wireless computing device maycomprise comparing received signal strengths, measured by the wirelesscomputing device, with data corresponding to a location mapping (e.g.,the location mapping data 408). Step 704 is described in more detailaccording to the steps shown in FIG. 8.

At step 706, a request for content may be received. The request may bereceived, via a wireless access point (e.g., the wireless access point415), from a wireless computing device. Content may comprise, forexample, a website, a video, or audio. The wireless computing device mayrequest the content (e.g., from the server 400) by communicating via oneor more wireless access points.

At step 708, an access level of the user device based on the determinedlocation of the computing device may be determined. At step 710, basedon the determined access level associated with the determined location,content may be sent to the wireless computing device. The communicationmanager 413 may retrieve the content and send the content, via thecommunication interface 414, to one or more wireless access points.Additionally or alternatively, the communication manager 413 mayinstruct one or more other computing devices to send the content (or aportion thereof) to one or more wireless access points. The content maybe filtered based on a profile associated with a room. For example, anaccess level associated with a game room may specify that no violentcontent may be received by wireless computing devices in the game roomsuch that, when a wireless computing device in the game room requestscontent, the wireless computing device may receive a portion of thecontent with violent content portions removed. Some requested contentmay not be provided and/or may result in a message indicating that theprovision of the requested content is not allowed. For example, amessage may be sent to a wireless computing device indicating that onlya portion of requested content is available. Multiple versions of aparticular content may exist (e.g., an adult version and a child'sversion), and the appropriate version of the content may be determinedand sent to the requesting wireless computing device. For example, priorto sending content to a wireless computing device, all or portions ofrequested content may be removed, censored, and/or replaced withdifferent data.

FIG. 8 shows a flowchart of an example method for determining a locationof a wireless computing device. The method of FIG. 8 may be part of orcomprise an algorithm that may be performed by one or more computingdevices. The method of FIG. 8, which may be performed by performed bythe server 400 and/or by one or more other computing devices, may beperformed as at least part of step 704 of the method 700 (FIG. 7).

At step 802, signal strength measurements corresponding to one or morewireless access points may be received, e.g., from a wireless computingdevice. A request for the signal strength measurements may betransmitted to the wireless computing device, which may cause thewireless computing device to measure the signal strength of one or morewireless access points and transmit the signal strength(s) (e.g., to theserver 400). For example, a plurality of signal strength measurementsassociated with one or more of the wireless access points 301-308 may bereceived from a wireless computing device connected to the one or moreof the wireless access points 301-308. The wireless computing device maydetermine such signal strength measurements using, e.g., a modem in thewireless computing device. For example, data received in step 802 may besets of measurement values such as, e.g., column 603 in FIG. 6A orcolumn 606 in FIG. 6B.

At step 804, the received signal strengths may be compared to expectedsignal strength values associated with one or more locations (e.g., oneor more rooms). For example, the received signal strengths may becompared to baseline data such that shown in column 602 (FIG. 6A), tobaseline data such as that shown in column 605 (FIG. 6B), and tobaseline for other rooms (e.g., the dining room, the child's room, theoffice, the master bedroom, the hall, and the bathroom of the premises300). The baseline data associated with a location may consist ofprevious wireless access point signal strength measurements taken withrespect to a location (e.g., in the location, around the location). Forexample, a user might walk around a room in the premises 300 with awireless computing device, take signal strength measurements throughoutthe room, and transmit those measurements as baseline data (e.g., to theserver 400). As another example, historical data (e.g., corresponding tosignal strength measurements of one or more wireless computing devicesover a time period) may be determined and used to generate the baselinedata. Multiple baseline measurements may be taken in a location, atdifferent places about the location, and at different times. Multiplebaseline measurements in the same location may be combined to form anaverage and/or range. The server 400 may receive baseline measurementsthat were taken at a plurality of distinct points in differentlocations. The baseline measurements may be stored as the locationmapping data 408.

In step 806, a similarity store may be determined. Based on a comparisonbetween the received signal strength measurements and the baselinesignal strength data for multiple locations, a closest fit for baselinesignal strength values corresponding to different locations may bedetermined (e.g., by the server 400 or another device). For example, atstep 806, there may be multiple data sets of baseline signal strengthvalues (e.g., as shown in columns 602 and 605 of FIGS. 6A and 6B,respectively). Each of those sets of baseline signal strength values maybe associated with the same or similar wireless access point(s) and/orwith a specific location of the same or similar wireless accesspoint(s). Each of those data sets may be compared with a data set ofsignal strength values received in step 802. For each comparison, asimilarity score may be determined. For example, the similarity scoremay be calculated based on a sum of the magnitude of the differencesbetween the data set corresponding to the baseline signal strengthvalues and the data set corresponding to signal strength values receivedin step 802.

A similarity score may be determined mathematically. For example, asimilarity score may be computed by computing a numerical differencebetween baseline signal strength values and signal strength valuesmeasured by a wireless computing device. For example, in FIG. 6A, thedifference between data in the first row of columns 602 and 603 is(−48)−(−50)=2. The difference between data in the second row of columns602 and 603 is (−45)−(−43)=−2. The difference between data in the thirdrow of columns 602 and 603 is (−37)−(−34)=−3. The difference betweendata in the fourth row of columns 602 and 603 is (−43)−(−46)=3. Thedifference between data in the fifth row of columns 602 and 603 is(−25)−(−20)=−5. The difference between data in the sixth row of columns602 and 603 is (−38)−(−35)=−3. The difference between data in theseventh row of columns 602 and 603 is (−41)−(−46)=5. The differencebetween data in the eight row of columns 602 and 603 is (−44)−(−40)=−4.A similarity score may be obtained by summing of the magnitudes of thedifferences obtained for all the rows, which is|2|+|−2|+|−3|+|3|+|−5|+|−3|+|5|+|−4|=27.

As another example, comparing FIG. 6A and FIG. 6B, the differencebetween data in the first rows of columns 603 and 605 is (−48)−(−55)=7.The difference between data in the second rows of columns 603 and 605 is(−45)−(−49)=4. The difference between data in the third rows of columns603 and 605 is (−37)−(−59)=22. The difference between data in the fourthrows of columns 603 and 605 is (−43)−(−75)=32. The difference betweendata in the fifth rows of columns 603 and 605 is (−25)−(−70)=45. Thedifference between data in the sixth rows of columns 603 and 605 is(−38)−(−72)=34. The difference between data in the seventh rows ofcolumns 603 and 605 is (−41)−(−77)=36. The difference between data inthe eight rows of columns 603 and 605 is (−44)−(−73)=29. The similarityscore may be obtained by taking the sum of the magnitude of thedifferences obtained for all the rows, which is|7|+|4|+|22|+|32|+|45|+|34|+|36|+|29|=209.

A similarity score may be computed for the other rooms of the premises300 (the wireless access point 301 in the dining room, the wirelessaccess point 302 in the child's room, the wireless access point 303 inthe office, the wireless access point 304 in the master bedroom, thewireless access point 306 in the bathroom, the wireless access point 307in the hall) based on data in column 603 in FIG. 6A and baseline datasets of signal strength values associated with rooms 301-304 and 306-307as stored in the memory 402. A best similarity score may be obtained bydetermining a minimum value of the plurality of similarity scorescomputed for rooms 301-308. For example, the computed similarity score,based on data in columns 602 and 603 of FIG. 6A, of 27 may be the bestsimilarity score for a wireless computing device located in the gameroom 305.

At step 808, if a determined similarity score value satisfies athreshold, it may be determined as indicating the wireless computingdevice is in a location corresponding to the set of baseline signalstrengths that yielded the best similarity score.

FIG. 9 shows a flowchart of another example method for determining alocation of a wireless computing device. The method of FIG. 9 may bepart of or comprise an algorithm that may be performed by one or morecomputing devices. Like FIG. 8, the method of FIG. 9, which may beperformed by performed by the server 400 and/or by one or more othercomputing devices, may be performed as at least part of step 704 of themethod 700 (FIG. 7). Alternatively, the steps shown in FIG. 8 may beperformed without any of the steps of FIG. 9, and/or the steps of FIG. 9may be performed without any of the steps in FIG. 8. The flowchartsshown in FIGS. 8 and 9 may occur in series or parallel. For example, thesteps shown in FIG. 9 may be performed before those shown in FIG. 8.

In step 902, one or more wireless access points, connected to by awireless computing device, may be determined. A wireless computingdevice may be connected to one or more wireless access points. Forexample, as described above, a wireless access point may be placed inevery room of a premises. A wireless computing device may be primarilyconnected to a wireless access point corresponding to a room that thewireless computing device is in, but may have other connections (e.g.,weaker and/or unused) connections to nearby wireless access points, suchas wireless access points in neighboring rooms.

In step 904, based on the one or more wireless access points determinedin step 902, a location may be determined. The connection to one or morewireless access points may be used to determine which room a wirelesscomputing device is in. For example, if a wireless computing device isconnected to a wireless access point associated with a living room, thenthe wireless computing device may be in the living room.

Although examples are described above, features and/or steps of thoseexamples may be combined, divided, omitted, rearranged, revised, and/oraugmented in any desired manner. Various alterations, modifications, andimprovements will readily occur to those skilled in the art. Suchalterations, modifications, and improvements are intended to be part ofthis description, though not expressly stated herein, and are intendedto be within the spirit and scope of the disclosure. Accordingly, theforegoing description is by way of example only, and is not limiting.

1. A method, comprising: determining, based on communications between awireless computing device and one or more wireless access points, alocation of the wireless computing device; receiving, from the wirelesscomputing device, a request for content; determining, based on therequest and on an access level associated with the location, whether thewireless computing device is permitted to access the content; andcausing, based on the access level, the content to be sent to thewireless computing device.
 2. The method of claim 1, wherein determiningthe location comprises: comparing signal strengths associated with thecommunications between the wireless computing device and the one or morewireless access points with a threshold, wherein the threshold isassociated with the location.
 3. The method of claim 1, whereindetermining whether the wireless computing device is permitted to accessthe content comprises: determining that the wireless computing device isallowed to access the content at the location.
 4. The method of claim 1,wherein determining the location of the wireless computing device isbased on signal strengths associated with the communications between thewireless computing device and the one or more wireless access points. 5.The method of claim 1, further comprising: determining that the wirelesscomputing device has moved to a second location; determining a secondaccess level associated with the second location; and preventing, basedon the second access level, the wireless computing device from accessingcontent.
 6. The method of claim 1, further comprising: sending, based ondetermining that a second wireless computing device is not allowed toaccess the content, a message associated with the content.
 7. The methodof claim 1, further comprising: determining that a second wirelesscomputing device is in the location; and preventing, based on thedetermination that the second wireless computing device is in thelocation and further based on the access level, the second wirelesscomputing device from accessing the content.
 8. The method of claim 1,wherein determining the location of the wireless computing device isfurther based on a history of signal strengths associated with thelocation.
 9. The method of claim 1, wherein each of the one or morewireless access points is located in a different room of a premises. 10.The method of claim 1, wherein the location corresponds to a common areaof a premises.
 11. A method comprising: determining expected signalstrengths associated with a location; receiving, from a wirelesscomputing device, a request for content; determining current signalstrengths associated with communications between the wireless computingdevice and one or more wireless access points; determining, by comparingthe expected signal strengths and the current signal strengths, that thewireless computing device is in the location; and causing, based ondetermining that the wireless computing device is allowed to accesscontent in the location, the content to be sent to the wirelesscomputing device.
 12. The method of claim 11, wherein determining theexpected signal strengths is based on a history of signal strengthsassociated with the location.
 13. The method of claim 11, furthercomprising: determining that the wireless computing device has moved toa second location; determining an access level associated with thesecond location; and preventing, based on the access level, the wirelesscomputing device from accessing the content.
 14. The method of claim 11,wherein the location corresponds to a common area of a premises.
 15. Themethod of claim 11, further comprising: determining that a secondwireless computing device is in the location; and preventing, based onthe determination that the second wireless computing device is in thelocation and further based on determining that the second wirelesscomputing device is not allowed to access the content in the location,the second wireless computing device from accessing the content.
 16. Themethod of claim 11, wherein each of the one or more wireless accesspoints is located in a different room of a premises.
 17. A methodcomprising: determining, based on first communications between a firstwireless computing device and one or more wireless access points, andbased second communications between a second wireless computing deviceand the one or more wireless access points, a location associated withboth the first and second wireless computing devices; receiving, fromthe first wireless computing device and the second wireless computingdevices, requests for content; causing, based on the location, at leasta portion of the content to be sent to the first wireless computingdevice; and preventing, based on the location, the second wirelesscomputing device from accessing the content.
 18. The method of claim 17,wherein determining the location comprises: comparing first signalstrengths, associated with the first communications, with a thresholdassociated with the location; and comparing second signal strengths,associated with the second communications, with the threshold.
 19. Themethod of claim 17, further comprising: determining that the firstwireless computing device has moved to a second location; determining asecond access level associated with the second location; and preventing,based on the second access level, the first wireless computing devicefrom accessing the content.
 20. The method of claim 17, wherein each ofthe one or more wireless access points is located in a different room ofa premises.